 /**
   * Copyright 2014 Viettel Telecom. All rights reserved.
   * VIETTEL PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
   */
 package com.viettel.core.dao.cms; 
import java.util.List; 

import com.viettel.core.common.utils.KPaging;
import com.viettel.core.entities.cms.Article;
import com.viettel.core.entities.vo.ArticleRegimensSearchVO;
import com.viettel.core.entities.vo.ArticleSearchFilter;
import com.viettel.core.entities.vo.ArticleSearchVO;
import com.viettel.core.exceptions.DataAccessException; 
 /**
   *  Mo ta muc dich cua lop (interface)
   *  @author: TOANTM1
   *  @version:  
   *  @since: 27/02/2014 - 11:34:02
   */
 public interface ArticleDAO { 
 
 	/**@author TOANTM1
  	 * 27/02/2014 - 11:34:02
  	 * For: 
  	 * @description: 
  	 */
 	Article getArticleById(Integer id) throws DataAccessException; 
 
 	/**@author TOANTM1
  	 * 27/02/2014 - 11:34:02
  	 * For: 
  	 * @description: 
  	 */
 	Article createArticle(Article article) throws DataAccessException; 
 
 	/**@author TOANTM1
  	 * 27/02/2014 - 11:34:02
  	 * For: 
  	 * @description: 
  	 */
 	void updateArticle(Article article) throws DataAccessException; 
 
 	/**@author TOANTM1
  	 * 27/02/2014 - 11:34:02
  	 * For: 
  	 * @description: 
  	 */
 	void deleteArticle(Article article) throws DataAccessException; 
 	
 	/**
 	 *  Mo ta doan code ben duoi
 	 *  @author: huanlh5
 	 *  @since:  
 	 *  @Param:  Tham so cua ham
 	 *  @Return: ket qua tra ve
 	 *  @Description: MobileServer dung chung. Update Tra ve thoi gian tao bai viet
 	 *  @Modified by: Toantm1
 	 *  @Modified Date: 21-05-2014
 	 */
 	List<ArticleSearchVO> getListArticleByFilter(ArticleSearchFilter filter) throws DataAccessException;
 	
 	/**
 	 * @author huanlh5
 	 * @param filter
 	 * @return
 	 * @throws DataAccessException
 	 */
 	List<ArticleRegimensSearchVO> getListSearchArticleAndRegimens(String content, KPaging<ArticleRegimensSearchVO> paging) 
 			throws DataAccessException;
 	
 	/**
 	 * @author tuantm20
 	 * @param filter
 	 * @return
 	 * @throws DataAccessException
 	 */
 	List<ArticleSearchVO> getListArticleCategoryByFilter(ArticleSearchFilter filter) throws DataAccessException;
 	
 	List<Article> getListArticleByArticleCategory(Integer articleCategoryId)
			throws DataAccessException;
 	
 	List<ArticleSearchVO> getListArticleByArticleCategoryId(Integer articleCategoryId, Integer rowNum)
			throws DataAccessException;
 	List<Article> getListArticlesByArticleCategoryId(Integer id) throws DataAccessException;
 	List<Article> getListArticlesByCmsUserId(Integer id) throws DataAccessException;
 	List<ArticleSearchVO> getListArticleById(Integer id)
			throws DataAccessException;
} 
